/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
module.exports =
{
  "configProperties": [
  /**********************************************HDFS***************************************/
    {
      "id": "site property",
      "name": "fs.checkpoint.dir",
      "displayName": "SecondaryNameNode Checkpoint directories",
      "description": "Directory on the local filesystem where the Secondary NameNode should store the temporary images to merge",
      "defaultValue": "",
      "defaultDirectory": "/hadoop/hdfs/namesecondary",
      "displayType": "directories",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "category": "SECONDARY_NAMENODE",
      "index": 1
    },
    {
      "id": "site property",
      "name": "fs.checkpoint.period",
      "displayName": "HDFS Maximum Checkpoint Delay",
      "description": "Maximum delay between two consecutive checkpoints for HDFS",
      "defaultValue": "",
      "displayType": "int",
      "unit": "seconds",
      "isVisible": true,
      "category": "General",
      "serviceName": "HDFS",
      "index": 3
    },
    {
      "id": "site property",
      "name": "fs.checkpoint.size",
      "displayName": "HDFS Maximum Edit Log Size for Checkpointing",
      "description": "Maximum size of the edits log file that forces an urgent checkpoint even if the maximum checkpoint delay is not reached",
      "defaultValue": "",
      "displayType": "int",
      "unit": "bytes",
      "isVisible": true,
      "serviceName": "HDFS",
      "category": "General",
      "index": 4
    },
    {
      "id": "site property",
      "name": "dfs.name.dir",
      "displayName": "NameNode directories",
      "description": "NameNode directories for HDFS to store the file system image",
      "defaultValue": "",
      "defaultDirectory": "/hadoop/hdfs/namenode",
      "displayType": "directories",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "category": "NAMENODE",
      "index": 1
    },
    {
      "id": "site property",
      "name": "dfs.webhdfs.enabled",
      "displayName": "WebHDFS enabled",
      "description": "Whether to enable WebHDFS feature",
      "defaultValue": "",
      "displayType": "checkbox",
      "isOverridable": false,
      "category": "General",
      "serviceName": "HDFS",
      "index": 0
    },
    {
      "id": "site property",
      "name": "dfs.datanode.failed.volumes.tolerated",
      "displayName": "DataNode volumes failure toleration",
      "description": "The number of volumes that are allowed to fail before a DataNode stops offering service",
      "defaultValue": "",
      "displayType": "int",
      "isVisible": true,
      "category": "DATANODE",
      "serviceName": "HDFS",
      "index": 3
    },
    {
      "id": "site property",
      "name": "dfs.datanode.data.dir.mount.file",
      "displayName": "File that stores mount point for each data dir",
      "description": "File path that contains the last known mount point for each data dir. This file is used to avoid creating a DFS data dir on the root drive (and filling it up) if a path was previously mounted on a drive.",
      "defaultValue": "/etc/hadoop/conf/dfs_data_dir_mount.hist",
      "displayType": "directory",
      "isVisible": true,
      "category": "DATANODE",
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "index": 4
    },
    {
      "id": "site property",
      "name": "dfs.data.dir",
      "displayName": "DataNode directories",
      "description": "DataNode directories for HDFS to store the data blocks",
      "defaultValue": "",
      "defaultDirectory": "/hadoop/hdfs/data",
      "displayType": "directories",
      "isVisible": true,
      "category": "DATANODE",
      "serviceName": "HDFS",
      "index": 1
    },
    {
      "id": "site property",
      "name": "dfs.datanode.data.dir.perm",
      "displayName": "DataNode directories permission",
      "description": "",
      "defaultValue": "",
      "displayType": "int",
      "isVisible": true,
      "category": "DATANODE",
      "serviceName": "HDFS"
    },
    {
      "id": "site property",
      "name": "dfs.replication",
      "displayName": "Block replication",
      "description": "Default block replication.",
      "displayType": "int",
      "defaultValue": "",
      "isVisible": true,
      "category": "General",
      "serviceName": "HDFS"
    },
    {
      "id": "site property",
      "name": "dfs.datanode.du.reserved",
      "displayName": "Reserved space for HDFS",
      "description": "Reserved space in bytes per volume. Always leave this much space free for non dfs use.",
      "defaultValue": "",
      "displayType": "int",
      "unit": "bytes",
      "isVisible": true,
      "category": "General",
      "serviceName": "HDFS",
      "index": 2
    },

  /******************************************MAPREDUCE***************************************/
    {
      "id": "site property",
      "name": "mapred.local.dir",
      "displayName": "MapReduce local directories",
      "description": "Directories for MapReduce to store intermediate data files",
      "defaultValue": "",
      "defaultDirectory": "/hadoop/mapred",
      "displayType": "directories",
      "serviceName": "MAPREDUCE",
      "category": "TASKTRACKER",
      "index": 1
    },
    {
      "id": "site property",
      "name": "mapred.jobtracker.taskScheduler",
      "displayName": "MapReduce Capacity Scheduler",
      "description": "The scheduler to use for scheduling of MapReduce jobs",
      "defaultValue": "",
      "displayType": "advanced",
      "isOverridable": false,
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 0
    },
    {
      "id": "site property",
      "name": "mapred.tasktracker.map.tasks.maximum",
      "displayName": "Number of Map slots per node",
      "description": "Number of slots that Map tasks that run simultaneously can occupy on a TaskTracker",
      "defaultValue": "",
      "displayType": "int",
      "serviceName": "MAPREDUCE",
      "category": "TASKTRACKER",
      "index": 2
    },
    {
      "id": "site property",
      "name": "mapred.tasktracker.reduce.tasks.maximum",
      "displayName": "Number of Reduce slots per node",
      "description": "Number of slots that Reduce tasks that run simultaneously can occupy on a TaskTracker.",
      "defaultValue": "",
      "displayType": "int",
      "serviceName": "MAPREDUCE",
      "category": "TASKTRACKER",
      "index": 3
    },
    {
      "id": "site property",
      "name": "mapred.cluster.reduce.memory.mb",
      "displayName": "Cluster's Reduce slot size (virtual memory)",
      "description": "The virtual memory size of a single Reduce slot in the MapReduce framework",
      "defaultValue": "2048",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 2
    },
    {
      "id": "site property",
      "name": "mapred.job.map.memory.mb",
      "displayName": "Default virtual memory for a job's map-task",
      "description": "Virtual memory for single Map task",
      "defaultValue": "",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 5
    },
    {
      "id": "site property",
      "name": "mapred.cluster.max.map.memory.mb",
      "displayName": "Upper limit on virtual memory for single Map task",
      "description": "Upper limit on virtual memory size for a single Map task of any MapReduce job",
      "defaultValue": "",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 3
    },
    {
      "id": "site property",
      "name": "mapred.cluster.max.reduce.memory.mb",
      "displayName": "Upper limit on virtual memory for single Reduce task",
      "description": "Upper limit on virtual memory size for a single Reduce task of any MapReduce job",
      "defaultValue": "",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 4
    },
    {
      "id": "site property",
      "name": "mapred.job.reduce.memory.mb",
      "displayName": "Default virtual memory for a job's reduce-task",
      "description": "Virtual memory for single Reduce task",
      "defaultValue": "",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 6
    },
    {
      "id": "site property",
      "name": "mapred.cluster.map.memory.mb",
      "displayName": "Cluster's Map slot size (virtual memory)",
      "description": "The virtual memory size of a single Map slot in the MapReduce framework",
      "defaultValue": "1536",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 1
    },
    {
      "id": "site property",
      "name": "io.sort.mb",
      "displayName": "Map-side sort buffer memory",
      "description": "The total amount of Map-side buffer memory to use while sorting files (Expert-only configuration)",
      "defaultValue": "",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 7
    },
    {
      "id": "site property",
      "name": "io.sort.spill.percent",
      "displayName": "Limit on buffer",
      "description": "Percentage of sort buffer used for record collection",
      "defaultValue": "",
      "displayType": "float",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 8
    },
    {
      "id": "site property",
      "name": "mapred.system.dir",
      "displayName": "MapReduce system directories",
      "description": "Path on the HDFS where where the MapReduce framework stores system files",
      "defaultValue": "/mapred/system",
      "displayType": "directories",
      "serviceName": "MAPREDUCE",
      "category": "Advanced mapred-site"
    },
    {
      "id": "site property",
      "name": "mapred.userlog.retain.hours",
      "displayName": "Job log retention (hours)",
      "description": "The maximum time, in hours, for which the user-logs are to be retained after the job completion.",
      "defaultValue": "",
      "displayType": "int",
      "unit": "hours",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 9
    },
    {
      "id": "site property",
      "name": "mapred.jobtracker.maxtasks.per.job",
      "displayName": "Maximum number tasks for a Job",
      "description": "Maximum number of tasks for a single Job",
      "defaultValue": "",
      "displayType": "int",
      "serviceName": "MAPREDUCE",
      "category": "General",
      "index": 10
    },
    {
      "id": "site property",
      "name": "mapred.hosts",
      "displayName": "mapred.hosts",
      "description": "Names a file that contains the list of nodes that may\
      connect to the jobtracker.  If the value is empty, all hosts are \
      permitted.",
      "defaultValue": "",
      "displayType": "directory",
      "category": "Advanced mapred-site",
      "serviceName": "MAPREDUCE"
    },
    {
      "id": "site property",
      "name": "mapred.hosts.exclude",
      "displayName": "mapred.hosts.exclude",
      "description": " Names a file that contains the list of hosts that\
      should be excluded by the jobtracker.  If the value is empty, no\
      hosts are excluded.",
      "defaultValue": "",
      "displayType": "directory",
      "category": "Advanced mapred-site",
      "serviceName": "MAPREDUCE"
    },
    {
      "id": "site property",
      "name": "mapred.child.java.opts",
      "displayName": "Java options for MapReduce tasks",
      "description": "Java options for the TaskTracker child processes.",
      "defaultValue": "",
      "displayType": "advanced",
      "category": "TASKTRACKER",
      "serviceName": "MAPREDUCE",
      "index": 4
    },

  /**********************************************oozie-site***************************************/
    {
      "id": "site property",
      "name": "oozie.db.schema.name",
      "displayName": "Database Name",
      "description": "Database name used for the Oozie",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "host",
      "isVisible": true,
      "isObserved": true,
      "category": "OOZIE_SERVER",
      "serviceName": "OOZIE",
      "index": 3
    },
    {
      "id": "site property",
      "name": "oozie.service.JPAService.jdbc.username",
      "displayName": "Database Username",
      "description": "Database user name to use to connect to the database",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "host",
      "category": "OOZIE_SERVER",
      "serviceName": "OOZIE",
      "index": 4
    },
    {
      "id": "site property",
      "name": "oozie.service.JPAService.jdbc.password",
      "displayName": "Database Password",
      "description": "Database password to use to connect to the database",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "password",
      "isVisible": true,
      "category": "OOZIE_SERVER",
      "serviceName": "OOZIE",
      "filename": "oozie-site.xml",
      "index": 5
    },
    {
      "id": "site property",
      "name": "oozie.service.JPAService.jdbc.driver",
      "displayName": "JDBC Driver Class",
      "defaultValue": "",
      "value": "",     // the value is overwritten in code
      "isVisible": true,
      "isOverridable": false,
      "description": "Database name used for the Oozie",
      "category": "OOZIE_SERVER",
      "serviceName": "OOZIE",
      "index": 6
    },
    {
      "id": "site property",
      "name": "oozie.service.JPAService.jdbc.url",
      "displayName": "Database URL",
      "description": "The JDBC connection URL to the database",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "advanced",
      "category": "OOZIE_SERVER",
      "serviceName": "OOZIE",
      "index": 7
    },

  /**********************************************hive-site***************************************/
    {
      "id": "site property",
      "name": "javax.jdo.option.ConnectionDriverName",
      "displayName": "JDBC Driver Class",
      "defaultValue": "",
      "value": "",     // the value is overwritten in code
      "isVisible": true,
      "isOverridable": false,
      "description": "Driver class name for a JDBC metastore",
      "category": "HIVE_METASTORE",
      "serviceName": "HIVE",
      "index": 7
    },
    {
      "id": "site property",
      "name": "hive.heapsize",
      "displayName": "Hive heap size",
      "description": "Maximum Java heap size for HIVE service (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "serviceName": "HIVE",
      "category": "General",
      "index": 9
    },
    {
      "id": "site property",
      "name": "javax.jdo.option.ConnectionUserName",
      "displayName": "Database Username",
      "description": "Database user name to use to connect to the database",
      "defaultValue": "hive",
      "displayType": "host",
      "isOverridable": false,
      "category": "HIVE_METASTORE",
      "serviceName": "HIVE",
      "index": 5
    },
    {
      "id": "site property",
      "name": "javax.jdo.option.ConnectionPassword",
      "displayName": "Database Password",
      "description": "Database password to use to connect to the metastore database",
      "defaultValue": "",
      "displayType": "password",
      "isOverridable": false,
      "isVisible": true,
      "category": "HIVE_METASTORE",
      "serviceName": "HIVE",
      "index": 6
    },
    {
      "id": "site property",
      "name": "javax.jdo.option.ConnectionURL",
      "displayName": "Database URL",
      "value": "",
      "defaultValue": "", // set to a 'jdbc' to not include this in initial error count
      "description": "The JDBC connection URL to the database",
      "displayType": "advanced",
      "isOverridable": false,
      "isVisible": true,
      "category": "HIVE_METASTORE",
      "serviceName": "HIVE",
      "index": 8
    },
    {
      "id": "site property",
      "name": "ambari.hive.db.schema.name",
      "displayName": "Database Name",
      "description": "Database name used as the Hive Metastore",
      "defaultValue": "",
      "isReconfigurable": true,
      "displayType": "host",
      "isOverridable": false,
      "isObserved": true,
      "serviceName": "HIVE",
      "category": "HIVE_METASTORE",
      "index": 4
    },
    {
      "id": "site property",
      "name": "hive.server2.thrift.port",
      "displayName": "Hive Server Port",
      "description": "TCP port number to listen on, default 10000.",
      "defaultValue": "10000",
      "displayType": "int",
      "isReconfigurable": true,
      "isOverridable": false,
      "isVisible": true,
      "category": "Advanced hive-site",
      "serviceName": "HIVE"
    },
    {
      "id": "site property",
      "name": "hive.server2.support.dynamic.service.discovery",
      "displayName": "hive.server2.support.dynamic.service.discovery",
      "defaultValue": false,
      "displayType": "checkbox",
      "category": "Advanced hive-site",
      "serviceName": "HIVE"
    },
  /**********************************************hbase-site***************************************/
    {
      "id": "site property",
      "name": "hbase.tmp.dir",
      "displayName": "HBase local directory",
      "description": "Temporary directory on the local filesystem",
      "defaultDirectory": "/hadoop/hbase",
      "defaultValue": "",
      "displayType": "directory",
      "isVisible": true,
      "category": "Advanced hbase-site",
      "serviceName": "HBASE"

    },
    {
      "id": "site property",
      "name": "hbase.master.port",
      "displayName": "HBase Master Port",
      "isReconfigurable": true,
      "displayType": "int",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HBASE",
      "category": "Advanced hbase-site"
    },
    {
      "id": "site property",
      "name": "hbase.regionserver.global.memstore.upperLimit",
      "displayName": "hbase.regionserver.global.memstore.upperLimit",
      "description": "",
      "defaultValue": "",
      "displayType": "float",
      "category": "Advanced hbase-site",
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "hbase.regionserver.global.memstore.lowerLimit",
      "displayName": "hbase.regionserver.global.memstore.lowerLimit",
      "defaultValue": "",
      "description": "When memstores are being forced to flush to make room in\
      memory, keep flushing until we hit this mark. Defaults to 35% of heap.\
      This value equal to hbase.regionserver.global.memstore.upperLimit causes\
      the minimum possible flushing to occur when updates are blocked due to\
      memstore limiting.",
      "displayType": "float",
      "category": "Advanced hbase-site",
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "hbase.hstore.blockingStoreFiles",
      "displayName": "hstore blocking storefiles",
      "description": "If more than this number of StoreFiles in any one Store (one StoreFile is written per flush of " +
          "MemStore) then updates are blocked for this HRegion until a compaction is completed, or until " +
          "hbase.hstore.blockingWaitTime has been exceeded.",
      "defaultValue": "",
      "isRequired": true,
      "displayType": "int",
      "category": "Advanced hbase-site",
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "hbase.hstore.compactionThreshold",
      "displayName": "HBase HStore compaction threshold",
      "description": "If more than this number of HStoreFiles in any one HStore then a compaction is run to rewrite all HStoreFiles files as one.",
      "defaultValue": "3",
      "displayType": "int",
      "category": "General",
      "serviceName": "HBASE",
      "index": 0
    },
    {
      "id": "site property",
      "name": "hfile.block.cache.size",
      "displayName": "HFile block cache size ",
      "description": "Percentage of maximum heap (-Xmx setting) to allocate to block cache used by HFile/StoreFile. Set to 0 to disable but it's not recommended.",
      "defaultValue": "0.40",
      "displayType": "float",
      "category": "General",
      "serviceName": "HBASE",
      "index": 1
    },
    {
      "id": "site property",
      "name": "hbase.hregion.max.filesize",
      "displayName": "Maximum HStoreFile Size",
      "description": "If any one of a column families' HStoreFiles has grown to exceed this value, the hosting HRegion is split in two.",
      "defaultValue": "",
      "displayType": "int",
      "unit": "bytes",
      "isVisible": true,
      "category": "General",
      "serviceName": "HBASE",
      "index": 2
    },
    {
      "id": "site property",
      "name": "hbase.regionserver.handler.count",
      "displayName": "RegionServer Handler",
      "description": "Count of RPC Listener instances spun up on RegionServers",
      "defaultValue": "60",
      "displayType": "int",
      "category": "HBASE_REGIONSERVER",
      "serviceName": "HBASE",
      "index": 2
    },
    {
      "id": "site property",
      "name": "hbase.hregion.majorcompaction",
      "displayName": "HBase Region Major Compaction",
      "description": "The time between major compactions of all HStoreFiles in a region. Set to 0 to disable automated major compactions.",
      "defaultValue": "",
      "displayType": "int",
      "unit": "ms",
      "isVisible": true,
      "category": "HBASE_REGIONSERVER",
      "serviceName": "HBASE",
      "index": 3
    },
    {
      "id": "site property",
      "name": "hbase.hregion.memstore.block.multiplier",
      "displayName": "HBase Region Block Multiplier",
      "description": "Block updates if memstore has \"Multiplier * HBase Region Memstore Flush Size\" bytes. Useful preventing runaway memstore during spikes in update traffic",
      "defaultValue": "",
      "displayType": "int",
      "category": "HBASE_REGIONSERVER",
      "serviceName": "HBASE",
      "index": 4
    },
    {
      "id": "site property",
      "name": "hbase.hregion.memstore.mslab.enabled",
      "displayName": "hbase.hregion.memstore.mslab.enabled",
      "description": "Enables the MemStore-Local Allocation Buffer,\
      a feature which works to prevent heap fragmentation under\
      heavy write loads. This can reduce the frequency of stop-the-world\
      GC pauses on large heaps.",
      "defaultValue": "",
      "displayType": "checkbox",
      "category": "Advanced hbase-site",
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "hbase.hregion.memstore.flush.size",
      "displayName": "HBase Region Memstore Flush Size",
      "description": "Memstore will be flushed to disk if size of the memstore exceeds this number of bytes.",
      "defaultValue": "",
      "displayType": "int",
      "unit": "bytes",
      "category": "HBASE_REGIONSERVER",
      "serviceName": "HBASE",
      "index": 5
    },
    {
      "id": "site property",
      "name": "hbase.client.scanner.caching",
      "displayName": "HBase Client Scanner Caching",
      "description": "Number of rows that will be fetched when calling next on a scanner if it is not served from \
      (local, client) memory. Do not set this value such that the time between invocations is greater than the scanner timeout",
      "defaultValue": "",
      "displayType": "int",
      "unit": "rows",
      "isVisible": true,
      "category": "General",
      "serviceName": "HBASE",
      "index": 3
    },
    {
      "id": "site property",
      "name": "zookeeper.session.timeout",
      "displayName": "Zookeeper timeout for HBase Session",
      "description": "HBase passes this to the zk quorum as suggested maximum time for a session",
      "defaultValue": "",
      "displayType": "int",
      "unit": "ms",
      "category": "General",
      "serviceName": "HBASE",
      "index": 4
    },
    {
      "id": "site property",
      "name": "hbase.client.keyvalue.maxsize",
      "displayName": "HBase Client Maximum key-value Size",
      "description": "Specifies the combined maximum allowed size of a KeyValue instance. It should be set to a fraction of the maximum region size.",
      "defaultValue": "",
      "displayType": "int",
      "unit": "bytes",
      "category": "General",
      "serviceName": "HBASE",
      "index": 5
    },
    {
      "id": "site property",
      "name": "hbase.coprocessor.region.classes",
      "displayName": "hbase.coprocessor.region.classes",
      "category": "Advanced hbase-site",
      "isRequired": false,
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "hbase.coprocessor.master.classes",
      "displayName": "hbase.coprocessor.master.classes",
      "category": "Advanced hbase-site",
      "isRequired": false,
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "dfs.client.read.shortcircuit",
      "displayName": "HDFS Short-circuit read",
      "description": "This configuration parameter turns on short-circuit local reads.",
      "defaultValue": "",
      "displayType": "checkbox",
      "category": "Advanced hbase-site",
      "serviceName": "HBASE"
    },
    {
      "id": "site property",
      "name": "dfs.support.append",
      "displayName": "HDFS append support",
      "description": "HDFS append support",
      "defaultValue": "",
      "displayType": "checkbox",
      "serviceName": "HBASE",
      "category": "Advanced hbase-site"
    },
    {
      "id": "site property",
      "name": "hbase.zookeeper.quorum",
      "displayName": "hbase.zookeeper.quorum",
      "defaultValue": "",
      "displayType": "multiLine",
      "serviceName": "HBASE",
      "category": "Advanced hbase-site"
    },

  /**********************************************webhcat-site***************************************/
    {
      "id": "site property",
      "name": "templeton.hive.archive",
      "displayName": "templeton.hive.archive",
      "isRequired": false,
      "serviceName": "HIVE",
      "category": "Advanced webhcat-site"
    },
    {
      "id": "site property",
      "name": "templeton.pig.archive",
      "displayName": "templeton.pig.archive",
      "isRequired": false,
      "serviceName": "HIVE",
      "category": "Advanced webhcat-site"
    },
    {
      "id": "site property",
      "name": "templeton.zookeeper.hosts",
      "displayName": "templeton.zookeeper.hosts",
      "defaultValue": "",
      "displayType": "multiLine",
      "serviceName": "HIVE",
      "category": "Advanced webhcat-site"
    },
  /**********************************************pig.properties*****************************************/
    {
      "id": "site property",
      "name": "content",
      "displayName": "content",
      "value": "",
      "defaultValue": "",
      "description": "pig properties",
      "displayType": "content",
      "isRequired": false,
      "showLabel": false,
      "serviceName": "PIG",
      "filename": "pig-properties.xml",
      "category": "Advanced pig-properties"
    },
  /**********************************************HDFS***************************************/
    {
      "id": "puppet var",
      "name": "namenode_host",
      "displayName": "NameNode host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run NameNode",
      "displayType": "masterHost",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "namenode_heapsize",
      "displayName": "NameNode Java heap size",
      "description": "Initial and maximum Java heap size for NameNode (Java options -Xms and -Xmx).  This also applies to the Secondary NameNode.",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE",
      "index": 2
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_newsize",
      "displayName": "NameNode new generation size",
      "description": "Default size of Java new generation for NameNode (Java option -XX:NewSize).  This also applies to the Secondary NameNode.",
      "defaultValue": "200",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_permsize",
      "displayName": "NameNode permanent generation size",
      "description": "Default size of Java permanent generation for NameNode (Java option -XX:PermSize).  This also applies to the Secondary NameNode.",
      "defaultValue": "128",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE",
      "index": 4
    },
    {
      "id": "puppet var",
      "name": "snamenode_host",
      "displayName": "SNameNode host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run SecondaryNameNode",
      "displayType": "masterHost",
      "isRequiredByAgent": false,
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "SECONDARY_NAMENODE",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "datanode_hosts", //not in the schema. For UI purpose
      "displayName": "DataNode hosts",
      "value": "",
      "defaultValue": "",
      "description": "The hosts that have been assigned to run DataNode",
      "displayType": "slaveHosts",
      "isRequired": false,
      "isRequiredByAgent": false,
      "isOverridable": false,
      "isVisible": true,
      "domain": "datanode-global",
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "DATANODE",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "dtnode_heapsize",
      "displayName": "DataNode maximum Java heap size",
      "description": "Maximum Java heap size for DataNode (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isVisible": true,
      "domain": "datanode-global",
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "DATANODE",
      "index": 2
    },
    {
      "id": "puppet var",
      "name": "hadoop_heapsize",
      "displayName": "Hadoop maximum Java heap size",
      "description": "Maximum Java heap size for daemons such as Balancer (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "hdfs_log_dir_prefix",
      "displayName": "Hadoop Log Dir Prefix",
      "description": "The parent directory for Hadoop log files.  The HDFS log directory will be ${hadoop_log_dir_prefix} / ${hdfs_user} and the MapReduce log directory will be ${hadoop_log_dir_prefix} / ${mapred_user}.",
      "defaultValue": "/var/log/hadoop",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "Advanced hadoop-env"
    },
    {
      "id": "puppet var",
      "name": "hadoop_pid_dir_prefix",
      "displayName": "Hadoop PID Dir Prefix",
      "description": "The parent directory in which the PID files for Hadoop processes will be created.  The HDFS PID directory will be ${hadoop_pid_dir_prefix} / ${hdfs_user} and the MapReduce PID directory will be ${hadoop_pid_dir_prefix} / ${mapred_user}.",
      "defaultValue": "/var/run/hadoop",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "Advanced hadoop-env"
    },
    {
      "id": "puppet var",
      "name": "hadoop_root_logger",
      "displayName": "Hadoop Root Logger",
      "description": "Hadoop logging options",
      "defaultValue": "INFO,RFA",
      "displayType": "string",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "Advanced hadoop-env"
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_maxnewsize",
      "displayName": "NameNode maximum new generation size",
      "description": "",
      "defaultValue": "200",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE"
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_maxpermsize",
      "displayName": "NameNode maximum permanent generation size",
      "description": "Default size of Java maximum permanent generation for NameNode (Java option -XX:MaxPermSize).  This also applies to the Secondary NameNode.",
      "defaultValue": "256",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE"
    },
    {
      "id": "puppet var",
      "name": "security_enabled",
      "displayName": "Hadoop Security",
      "description": "Enable hadoop security",
      "defaultValue": 'false',
      "isRequired": false,
      "displayType": "checkbox",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "MISC",
      "filename": "cluster-env.xml"
    },
    {
      "id": "puppet var",
      "name": "kerberos_domain",
      "displayName": "Kerberos realm",
      "description": "Kerberos realm",
      "defaultValue": 'EXAMPLE.COM',
      "isRequired": false,
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "MISC",
      "filename": "cluster-env.xml"
    },
    {
      "id": "puppet var",
      "name": "namenode_formatted_mark_dir",
      "displayName": "Hadoop formatted mark directory",
      "description": "",
      "defaultValue": "/var/run/hadoop/hdfs/namenode/formatted/",
      "isRequired": false,
      "isReconfigurable": false,
      "displayType": "directory",
      "isVisible": false,
      "serviceName": "HDFS",
      "filename": "hadoop-env.xml",
      "category": "NAMENODE"
    },
    /***************************************** GLUSTERFS stack********************************************/
    {
      "id": "site property",
      "name": "fs.glusterfs.impl",
      "displayName": "GlusterFS fs impl",
      "displayType": "string",
      "filename": "core-site.xml",
      "serviceName": "GLUSTERFS",
      "category": "General"
    },
    {
      "id": "site property",
      "name": "fs.AbstractFileSystem.glusterfs.impl",
      "displayName": "GlusterFS Abstract File System Implementation",
      "displayType": "string",
      "filename": "core-site.xml",
      "serviceName": "GLUSTERFS",
      "category": "General"
    },
  /**********************************************GLUSTERFS***************************************/
    {
      "id": "puppet var",
      "name": "fs_glusterfs_default_name",
      "displayName": "GlusterFS default fs name 1.x Hadoop",
      "description": "GlusterFS default filesystem name (glusterfs://{MasterFQDN}:9000)",
      "defaultValue": "glusterfs:///localhost:8020",
      "displayType": "string",
      "isVisible": true,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "glusterfs_defaultFS_name",
      "displayName": "GlusterFS default fs name 2.x Hadoop",
      "description": "GlusterFS default filesystem name (glusterfs:///)",
      "defaultValue": "glusterfs:///localhost:8020",
      "displayType": "string",
      "isVisible": true,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "hadoop_heapsize",
      "displayName": "Hadoop maximum Java heap size",
      "description": "Maximum Java heap size for daemons such as Balancer (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isVisible": true,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "hdfs_log_dir_prefix",
      "displayName": "Hadoop Log Dir Prefix",
      "description": "The parent directory for Hadoop log files.  The HDFS log directory will be ${hadoop_log_dir_prefix} / ${hdfs_user} and the MapReduce log directory will be ${hadoop_log_dir_prefix} / ${mapred_user}.",
      "defaultValue": "/var/log/hadoop",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "hadoop_pid_dir_prefix",
      "displayName": "Hadoop PID Dir Prefix",
      "description": "The parent directory in which the PID files for Hadoop processes will be created.  The HDFS PID directory will be ${hadoop_pid_dir_prefix} / ${hdfs_user} and the MapReduce PID directory will be ${hadoop_pid_dir_prefix} / ${mapred_user}.",
      "defaultValue": "/var/run/hadoop",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "namenode_heapsize",
      "displayName": "Name Node Heap Size",
      "description": "Name Node Heap Size, default jvm memory setting",
      "defaultValue": "1024",
      "isReconfigurable": false,
      "displayType": "int",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_newsize",
      "displayName": "NameNode new generation size",
      "description": "Default size of Java new generation for NameNode (Java option -XX:NewSize).  This also applies to the Secondary NameNode.",
      "defaultValue": "200",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_maxnewsize",
      "displayName": "NameNode maximum new generation size",
      "description": "Maximum size of Java new generation for NameNode (Java option -XX:MaxnewSize).",
      "defaultValue": "200",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_permsize",
      "displayName": "NameNode permanent generation size",
      "description": "Default size of Java permanent generation for NameNode (Java option -XX:PermSize).  This also applies to the Secondary NameNode.",
      "defaultValue": "128",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "namenode_opt_maxpermsize",
      "displayName": "NameNode maximum permanent generation size",
      "description": "Maximum size of Java permanent generation for NameNode (Java option -XX:MaxPermSize).",
      "defaultValue": "256",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "dtnode_heapsize",
      "displayName": "DataNode maximum Java heap size",
      "description": "Maximum Java heap size for DataNode (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isVisible": false,
      "domain": "datanode-global",
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "glusterfs_user",
      "displayName": "glusterfs user",
      "description": "glusterfs user",
      "defaultValue": "root",
      "displayType": "string",
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "namenode_host",
      "displayName": "NameNode Host",
      "description": "NameNode Host.",
      "defaultValue": "",
      "displayType": "string",
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
    {
      "id": "puppet var",
      "name": "snamenode_host",
      "displayName": "Secondary NameNode Host",
      "description": "Secondary NameNode Host.",
      "defaultValue": "",
      "displayType": "string",
      "isVisible": false,
      "serviceName": "GLUSTERFS",
      "filename": "hadoop-env.xml",
      "category": "General Hadoop"
    },
  /**********************************************MAPREDUCE***************************************/
    {
      "id": "puppet var",
      "name": "hs_host",
      "displayName": "History Server",
      "description": "History Server",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "masterHost",
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "HISTORYSERVER",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "jobtracker_host",
      "displayName": "JobTracker host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run JobTracker",
      "displayType": "masterHost",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "JOBTRACKER",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "jtnode_opt_newsize",
      "displayName": "JobTracker new generation size",
      "description": "Default size of Java new generation size for JobTracker in MB (Java option -XX:NewSize)",
      "defaultValue": "200",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "JOBTRACKER",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "jtnode_opt_maxnewsize",
      "displayName": "JobTracker maximum new generation size",
      "description": "Maximum size of Java new generation for JobTracker in MB (Java option -XX:MaxNewSize)",
      "defaultValue": "200",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "JOBTRACKER",
      "index": 2
    },
    {
      "id": "puppet var",
      "name": "jtnode_heapsize",
      "displayName": "JobTracker maximum Java heap size",
      "description": "Maximum Java heap size for JobTracker in MB (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "JOBTRACKER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "tasktracker_hosts",
      "displayName": "TaskTracker hosts",
      "value": "",
      "defaultValue": "",
      "description": "The hosts that have been assigned to run TaskTracker",
      "displayType": "slaveHosts",
      "isOverridable": false,
      "isVisible": true,
      "isRequired": false,
      "isRequiredByAgent": false,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "TASKTRACKER",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "ttnode_heapsize",
      "displayName": "TaskTracker maximum Java heap size",
      "description": "Maximum Java heap size for TaskTracker in MB (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "TASKTRACKER",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "lzo_enabled",
      "displayName": "LZO compression",
      "description": "LZO compression enabled",
      "defaultValue": true,
      "displayType": "checkbox",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "General",
      "index": 11
    },
    {
      "id": "puppet var",
      "name": "snappy_enabled",
      "displayName": "Snappy compression",
      "description": "Snappy compression enabled",
      "defaultValue": true,
      "isReconfigurable": false,
      "displayType": "checkbox",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "MAPREDUCE",
      "filename": "mapred-env.xml",
      "category": "General",
      "index": 12
    },
    {
      "id": "puppet var",
      "name": "rca_enabled",
      "displayName": "Enable Job Diagnostics",
      "description": "Tools for tracing the path and troubleshooting the performance of MapReduce jobs",
      "defaultValue": true,
      "isReconfigurable": true,
      "isOverridable": false,
      "displayType": "checkbox",
      "isVisible": true,
      "serviceName": "MAPREDUCE",
      "category": "General",
      "filename": "mapred-env.xml",
      "index": 13
    },
  /**********************************************HBASE***************************************/
    {
      "id": "puppet var",
      "name": "hbasemaster_host",
      "displayName": "HBase Master hosts",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run HBase Master",
      "displayType": "masterHosts",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "HBASE",
      "filename": "hbase-env.xml",
      "category": "HBASE_MASTER",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "hbase_master_heapsize",
      "displayName": "HBase Master Maximum Java heap size",
      "description": "Maximum Java heap size for HBase master (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isOverridable": true,
      "isVisible": true,
      "serviceName": "HBASE",
      "filename": "hbase-env.xml",
      "category": "HBASE_MASTER",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "regionserver_hosts",
      "displayName": "RegionServer hosts",
      "value": "",
      "defaultValue": "",
      "description": "The hosts that have been assigned to run RegionServer",
      "displayType": "slaveHosts",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "isRequired": false,
      "domain": "regionserver-global",
      "serviceName": "HBASE",
      "filename": "hbase-env.xml",
      "category": "HBASE_REGIONSERVER",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "hbase_regionserver_heapsize",
      "displayName": "RegionServers maximum Java heap size",
      "description": "Maximum Java heap size for RegionServers (Java option -Xmx)",
      "defaultValue": "1024",
      "displayType": "int",
      "unit": "MB",
      "isVisible": true,
      "domain": "regionserver-global",
      "serviceName": "HBASE",
      "filename": "hbase-env.xml",
      "category": "HBASE_REGIONSERVER",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "hbase_regionserver_xmn_max",
      "displayName": "RegionServers maximum value for -Xmn",
      "displayType": "int",
      "unit": "MB",
      "isVisible": true,
      "domain": "regionserver-global",
      "serviceName": "HBASE",
      "category": "HBASE_REGIONSERVER",
      "index": 6
    },
    {
      "id": "puppet var",
      "name": "hbase_regionserver_xmn_ratio",
      "displayName": "RegionServers Xmn is in percentage of Xmx",
      "displayType": "float",
      "isVisible": true,
      "domain": "regionserver-global",
      "serviceName": "HBASE",
      "category": "HBASE_REGIONSERVER",
      "index": 7
    },
    {
      "id": "puppet var",
      "name": "hbase_log_dir",
      "displayName": "HBase Log Dir",
      "description": "Directory for HBase logs",
      "defaultValue": "/var/log/hbase",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HBASE",
      "filename": "hbase-env.xml",
      "category": "Advanced hbase-env"
    },
    {
      "id": "puppet var",
      "name": "hbase_pid_dir",
      "displayName": "HBase PID Dir",
      "description": "Directory in which the pid files for HBase processes will be created",
      "defaultValue": "/var/run/hbase",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HBASE",
      "filename": "hbase-env.xml",
      "category": "Advanced hbase-env"
    },
  /**********************************************HIVE***************************************/
    {
      "id": "puppet var",
      "name": "hivemetastore_host",
      "displayName": "Hive Metastore host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run Hive Metastore",
      "displayType": "masterHost",
      "isRequiredByAgent": false,
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 0
    },
    // for existing MySQL
    {
      "id": "puppet var",
      "name": "hive_existing_mysql_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "MySQL",
      "description": "Using an existing MySQL database for Hive Metastore",
      "displayType": "masterHost",
      "isOverridable": false,
      "isVisible": false,
      "isReconfigurable": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 1
    },
    // for existing PostgreSQL
    {
      "id": "puppet var",
      "name": "hive_existing_postgresql_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "PostgreSQL",
      "description": "Using an existing PostgreSQL database for Hive Metastore",
      "displayType": "masterHost",
      "isOverridable": false,
      "isVisible": false,
      "isReconfigurable": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 1
    },
    // for existing Oracle
    {
      "id": "puppet var",
      "name": "hive_existing_oracle_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "Oracle",
      "description": "Using an existing Oracle database for Hive Metastore",
      "displayType": "masterHost",
      "isVisible": false,
      "isOverridable": false,
      "isReconfigurable": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 1
    },
    // for new MySQL
    {
      "id": "puppet var",
      "name": "hive_ambari_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "MySQL",
      "description": "MySQL will be installed by Ambari",
      "displayType": "masterHost",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "hive_database",
      "displayName": "Hive Database",
      "value": "",
      "defaultValue": "New MySQL Database",
      "options": [
        {
          displayName: 'New MySQL Database',
          foreignKeys: ['hive_ambari_database', 'hive_ambari_host']
        },
        {
          displayName: 'Existing MySQL Database',
          foreignKeys: ['hive_existing_mysql_database', 'hive_existing_mysql_host']
        },
        {
          displayName: 'Existing PostgreSQL Database',
          foreignKeys: ['hive_existing_postgresql_database', 'hive_existing_postgresql_host']
        },
        {
          displayName: 'Existing Oracle Database',
          foreignKeys: ['hive_existing_oracle_database', 'hive_existing_oracle_host'],
          hidden: !App.supports.hiveOozieExtraDatabases
        }
      ],
      "description": "MySQL will be installed by Ambari",
      "displayType": "radio button",
      "isReconfigurable": false,
      "radioName": "hive-database",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 2
    },
    {
      "id": "puppet var",
      "name": "hive_hostname",
      "displayName": "Database Host",
      "description": "Specify the host on which the database is hosted",
      "defaultValue": "",
      "isReconfigurable": true,
      "displayType": "host",
      "isOverridable": false,
      "isVisible": false,
      "isObserved": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "hive_existing_mysql_host",
      "displayName": "Database Host",
      "description": "Specify the host on which the existing database is hosted",
      "defaultValue": "",
      "displayType": "host",
      "isRequiredByAgent": false,
      "isOverridable": false,
      "isVisible": false,
      "isObserved": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "hive_existing_oracle_host",
      "displayName": "Database Host",
      "description": "Specify the host on which the existing database is hosted",
      "defaultValue": "",
      "displayType": "host",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": false,
      "isObserved": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "hive_existing_postgresql_host",
      "displayName": "Database Host",
      "description": "Specify the host on which the existing database is hosted",
      "defaultValue": "",
      "displayType": "host",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": false,
      "isObserved": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "hive_ambari_host",
      "value": "",
      "defaultValue": "",
      "displayName": "Database Host",
      "description": "The host where Hive Metastore database is located",
      "isReconfigurable": false,
      "displayType": "masterHost",
      "isRequiredByAgent": false,
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "HIVE_METASTORE",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "hive_metastore_port",
      "displayName": "Hive metastore port",
      "description": "",
      "defaultValue": "9083",
      "isReconfigurable": false,
      "displayType": "int",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "Advanced hive-env"
    },
    {
      "id": "puppet var",
      "name": "hive_log_dir",
      "displayName": "Hive Log Dir",
      "description": "Directory for Hive log files",
      "defaultValue": "/var/log/hive",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "Advanced hive-env"
    },
    {
      "id": "puppet var",
      "name": "hive_pid_dir",
      "displayName": "Hive PID Dir",
      "description": "Directory in which the PID files for Hive processes will be created",
      "defaultValue": "/var/run/hive",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "Advanced hive-env"
    },
    {
      "id": "puppet var",
      "name": "hive_aux_jars_path",
      "displayName": "Hive auxilary jar path",
      "description": "",
      "defaultValue": "/usr/lib/hcatalog/share/hcatalog/hcatalog-core.jar",
      "isReconfigurable": false,
      "displayType": "directory",
      "isVisible": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "Advanced hive-env"
    },
    {
      "id": "puppet var",
      "name": "hive_database_name",
      "displayName": "hive_database_name",
      "defaultValue": "",
      "isReconfigurable": false,
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "Advanced hive-env"
    },
    {
      "id": "puppet var",
      "name": "hive_database_type",
      "displayName": "hive_database_type",
      "defaultValue": "",
      "isReconfigurable": false,
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "HIVE",
      "filename": "hive-env.xml",
      "category": "Advanced hive-env"
    },
  /**********************************************HIVE***************************************/
    {
      "id": "puppet var",
      "name": "webhcatserver_host",
      "displayName": "WebHCat Server host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run WebHCat Server",
      "displayType": "masterHost",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "webhcat-env.xml",
      "category": "WEBHCAT_SERVER"
    },
    {
      "id": "puppet var",
      "name": "hcat_log_dir",
      "displayName": "WebHCat Log Dir",
      "description": "Directory for WebHCat log files",
      "defaultValue": "/var/log/webhcat",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "webhcat-env.xml",
      "category": "Advanced webhcat-env"
    },
    {
      "id": "puppet var",
      "name": "hcat_pid_dir",
      "displayName": "WebHCat PID Dir",
      "description": "Directory in which the PID files for WebHCat processes will be created",
      "defaultValue": "/var/run/webhcat",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HIVE",
      "filename": "webhcat-env.xml",
      "category": "Advanced webhcat-env"
    },
  /**********************************************OOZIE***************************************/
    {
      "id": "puppet var",
      "name": "oozieserver_host",
      "displayName": "Oozie Server host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run Oozie Server",
      "displayType": "masterHost",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 0
    },
    // for existing PostgreSQL
    {
      "id": "puppet var",
      "name": "oozie_existing_postgresql_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "PostgreSQL",
      "description": "Using an existing PostgreSQL database for Oozie Metastore",
      "displayType": "masterHost",
      "isOverridable": false,
      "isVisible": false,
      "isReconfigurable": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 1
    },
    // for existing Oracle
    {
      "id": "puppet var",
      "name": "oozie_existing_oracle_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "Oracle",
      "description": "Using an existing Oracle database for Oozie Metastore",
      "displayType": "masterHost",
      "isVisible": false,
      "isObserved": true,
      "isReconfigurable": false,
      "isOverridable": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 1
    },
    // for current derby
    {
      "id": "puppet var",
      "name": "oozie_derby_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "Derby",
      "description": "Using current Derby database for Oozie Metastore",
      "displayType": "masterHost",
      "isVisible": false,
      "isReconfigurable": false,
      "isOverridable": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 1
    },
    // for existing MySQL oozie
    {
      "id": "puppet var",
      "name": "oozie_existing_mysql_database",
      "displayName": "Database Type",
      "value": "",
      "defaultValue": "MySQL",
      "description": "Using an existing MySQL database for Oozie Metastore",
      "displayType": "masterHost",
      "isVisible": false,
      "isReconfigurable": false,
      "isOverridable": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "oozie_database",
      "displayName": "Oozie Database",
      "value": "",
      "defaultValue": "New Derby Database",
      "options": [
        {
          displayName: 'New Derby Database',
          foreignKeys: ['oozie_derby_database', 'oozie_ambari_host']
        },
        {
          displayName: 'Existing MySQL Database',
          foreignKeys: ['oozie_existing_mysql_database', 'oozie_existing_mysql_host'],
          hidden: !App.supports.hiveOozieExtraDatabases
        },
        {
          displayName: 'Existing PostgreSQL Database',
          foreignKeys: ['oozie_existing_postgresql_database', 'oozie_existing_postgresql_host']
        },
        {
          displayName: 'Existing Oracle Database',
          foreignKeys: ['oozie_existing_oracle_database', 'oozie_existing_oracle_host'],
          hidden: !App.supports.hiveOozieExtraDatabases
        }
      ],
      "description": "Current Derby Database will be installed by Ambari",
      "displayType": "radio button",
      "isReconfigurable": false,
      "isOverridable": false,
      "radioName": "oozie-database",
      "isVisible": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 2
    },
    {
      "id": "puppet var",
      "name": "oozie_hostname",
      "defaultValue": "",
      "displayName": "Database Host",
      "description": "The host where the Oozie database is located",
      "isReconfigurable": true,
      "isOverridable": false,
      "displayType": "host",
      "isVisible": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "oozie_existing_mysql_host",
      "displayName": "Database Host",
      "description": "Specify the host on which the existing database is hosted",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "host",
      "isRequiredByAgent": false,
      "isVisible": false,
      "isObserved": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "oozie_existing_postgresql_host",
      "displayName": "Database Host",
      "description": "Specify the host on which the existing database is hosted",
      "defaultValue": "",
      "isOverridable": false,
      "displayType": "host",
      "isRequiredByAgent": false,
      "isVisible": false,   // This is dynamically set to true if database selected by the user is existing postgresql
      "isObserved": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "oozie_existing_oracle_host",
      "displayName": "Database Host",
      "description": "Specify the host on which the existing database is hosted",
      "defaultValue": "",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "displayType": "host",
      "isVisible": false,
      "isObserved": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "oozie_ambari_host",
      "value": "",
      "defaultValue": "",
      "displayName": "Database Host",
      "description": "Host on which the database will be created by Ambari",
      "isReconfigurable": false,
      "isOverridable": false,
      "isRequiredByAgent": false,
      "displayType": "masterHost",
      "isVisible": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "oozie_data_dir",
      "displayName": "Oozie Data Dir",
      "description": "Data directory in which the Oozie DB exists",
      "defaultValue": "",
      "defaultDirectory": "/hadoop/oozie/data",
      "isReconfigurable": true,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "isRequired": false,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "OOZIE_SERVER",
      "index": 8
    },

    {
      "id": "puppet var",
      "name": "oozie_log_dir",
      "displayName": "Oozie Log Dir",
      "description": "Directory for oozie logs",
      "defaultValue": "/var/log/oozie",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "Advanced oozie-env"
    },
    {
      "id": "puppet var",
      "name": "oozie_pid_dir",
      "displayName": "Oozie PID Dir",
      "description": "Directory in which the pid files for oozie processes will be created",
      "defaultValue": "/var/run/oozie",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "Advanced oozie-env"
    },
    {
      "id": "puppet var",
      "name": "oozie_admin_port",
      "displayName": "Oozie Server Admin Port",
      "isReconfigurable": true,
      "displayType": "int",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "OOZIE",
      "filename": "oozie-env.xml",
      "category": "Advanced oozie-env"
    },
  /**********************************************NAGIOS***************************************/
    {
      "id": "puppet var",
      "name": "nagios_web_login",
      "displayName": "Nagios Admin username",
      "description": "Nagios Web UI Admin username",
      "defaultValue": "nagiosadmin",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "NAGIOS",
      "filename": "nagios-env.xml",
      "category": "General",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "nagios_web_password",
      "displayName": "Nagios Admin password",
      "description": "Nagios Web UI Admin password",
      "defaultValue": "",
      "isReconfigurable": true,
      "displayType": "password",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "NAGIOS",
      "filename": "nagios-env.xml",
      "category": "General",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "nagios_contact",
      "displayName": "Hadoop Admin email",
      "description": "Hadoop Administrator email for alert notification",
      "defaultValue": "",
      "displayType": "email",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "NAGIOS",
      "filename": "nagios-env.xml",
      "category": "General",
      "index": 2
    },
  /**********************************************ZOOKEEPER***************************************/
    {
      "id": "puppet var",
      "name": "zookeeperserver_hosts",
      "displayName": "ZooKeeper Server hosts",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run ZooKeeper Server",
      "displayType": "masterHosts",
      "isRequiredByAgent": false,
      "isVisible": true,
      "isOverridable": false,
      "isRequired": false,
      "serviceName": "ZOOKEEPER",
      "filename": "zookeeper-env.xml",
      "category": "ZOOKEEPER_SERVER",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "dataDir",
      "displayName": "ZooKeeper directory",
      "description": "Data directory for ZooKeeper",
      "defaultValue": "",
      "defaultDirectory": "/hadoop/zookeeper",
      "isReconfigurable": true,
      "displayType": "directory",
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zoo.cfg.xml",
      "category": "ZOOKEEPER_SERVER",
      "index": 1
    },
    {
      "id": "puppet var",
      "name": "tickTime",
      "displayName": "Length of single Tick",
      "description": "The length of a single tick in milliseconds, which is the basic time unit used by ZooKeeper",
      "defaultValue": "2000",
      "displayType": "int",
      "unit": "ms",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zoo.cfg.xml",
      "category": "ZOOKEEPER_SERVER",
      "index": 2
    },
    {
      "id": "puppet var",
      "name": "initLimit",
      "displayName": "Ticks to allow for sync at Init",
      "description": "Amount of time, in ticks to allow followers to connect and sync to a leader",
      "defaultValue": "10",
      "displayType": "int",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zoo.cfg.xml",
      "category": "ZOOKEEPER_SERVER",
      "index": 3
    },
    {
      "id": "puppet var",
      "name": "syncLimit",
      "displayName": "Ticks to allow for sync at Runtime",
      "description": "Amount of time, in ticks to allow followers to connect",
      "defaultValue": "5",
      "displayType": "int",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zoo.cfg.xml",
      "category": "ZOOKEEPER_SERVER",
      "index": 4
    },
    {
      "id": "puppet var",
      "name": "clientPort",
      "displayName": "Port for running ZK Server",
      "description": "Port for running ZooKeeper server",
      "defaultValue": "2181",
      "displayType": "int",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zoo.cfg.xml",
      "category": "ZOOKEEPER_SERVER",
      "index": 5
    },
    {
      "id": "puppet var",
      "name": "zk_log_dir",
      "displayName": "ZooKeeper Log Dir",
      "description": "Directory for ZooKeeper log files",
      "defaultValue": "/var/log/zookeeper",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zookeeper-env.xml",
      "category": "Advanced zookeeper-env",
      "index": 0
    },
    {
      "id": "puppet var",
      "name": "zk_pid_dir",
      "displayName": "ZooKeeper PID Dir",
      "description": "Directory in which the pid files for zookeeper processes will be created",
      "defaultValue": "/var/run/zookeeper",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "ZOOKEEPER",
      "filename": "zookeeper-env.xml",
      "category": "Advanced zookeeper-env",
      "index": 1
    },
  /**********************************************HUE***************************************/
    {
      "id": "puppet var",
      "name": "hueserver_host",
      "displayName": "Hue Server host",
      "value": "",
      "defaultValue": "",
      "description": "The host that has been assigned to run Hue Server",
      "displayType": "masterHost",
      "isRequiredByAgent": false,
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "HUE",
      "filename": "hue-env.xml",
      "category": "Hue Server"
    },
    {
      "id": "puppet var",
      "name": "hue_log_dir",
      "displayName": "HUE Log Dir",
      "description": "Directory for HUE logs",
      "defaultValue": "/var/log/hue",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "HUE",
      "filename": "hue-env.xml",
      "category": "Advanced hue-env"
    },
    {
      "id": "puppet var",
      "name": "hue_pid_dir",
      "displayName": "HUE Pid Dir",
      "description": "Directory in which the pid files for HUE processes will be created",
      "defaultValue": "/var/run/hue",
      "isReconfigurable": false,
      "displayType": "directory",
      "isOverridable": false,
      "isRequiredByAgent": false,
      "isVisible": true,
      "serviceName": "HUE",
      "filename": "hue-env.xml",
      "category": "Advanced hue-env"
    },
  /**********************************************GANGLIA***************************************/
    {
      "id": "puppet var",
      "name": "ganglia_conf_dir",
      "displayName": "Ganglia conf directory",
      "description": "",
      "defaultValue": "/etc/ganglia/hdp",
      "isReconfigurable": false,
      "displayType": "directory",
      "isVisible": false,
      "serviceName": "GANGLIA",
      "filename": "ganglia-env.xml",
      "category": "Advanced ganglia-env"
    },
  /**********************************************MISC******************************************/
    {
      "id": "puppet var",
      "name": "proxyuser_group",
      "displayName": "Proxy group for Hive, WebHCat and Oozie",
      "description": "",
      "defaultValue": "users",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "filename": "hadoop-env.xml",
      "serviceName": "MISC",
      "category": "Users and Groups",
      "belongsToService": ["HIVE", "OOZIE"]
    },
    {
      "id": "puppet var",
      "name": "ganglia_runtime_dir",
      "displayName": "Ganglia runtime directory",
      "description": "",
      "defaultValue": "/var/run/ganglia/hdp",
      "isReconfigurable": false,
      "displayType": "directory",
      "isVisible": false,
      "serviceName": "MISC",
      "filename": "ganglia-env.xml",
      "category": "General",
      "belongsToService": []
    },
    {
      "id": "puppet var",
      "name": "hdfs_user",
      "displayName": "HDFS User",
      "description": "User to run HDFS as",
      "defaultValue": "hdfs",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "hadoop-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["HDFS"]
    },
    {
      "id": "puppet var",
      "name": "sqoop_user",
      "displayName": "Sqoop User",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "sqoop-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["SQOOP"]
    },
    {
      "id": "puppet var",
      "name": "mapred_user",
      "displayName": "MapReduce User",
      "description": "User to run MapReduce as",
      "defaultValue": "mapred",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "mapred-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["MAPREDUCE"]
    },
    {
      "id": "puppet var",
      "name": "hbase_user",
      "displayName": "HBase User",
      "description": "User to run HBase as",
      "defaultValue": "hbase",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "hbase-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["HBASE"]
    },
    {
      "id": "puppet var",
      "name": "hive_user",
      "displayName": "Hive User",
      "description": "User to run Hive as",
      "defaultValue": "hive",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "hive-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["HIVE"]
    },
    {
      "id": "puppet var",
      "name": "hcat_user",
      "displayName": "HCat User",
      "description": "User to run HCatalog as",
      "defaultValue": "hcat",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "hive-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["HIVE"]
    },
    {
      "id": "puppet var",
      "name": "webhcat_user",
      "displayName": "WebHCat User",
      "description": "User to run WebHCat as",
      "defaultValue": "hcat",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "webhcat-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["HIVE"]
    },
    {
      "id": "puppet var",
      "name": "oozie_user",
      "displayName": "Oozie User",
      "description": "User to run Oozie as",
      "defaultValue": "oozie",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "oozie-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["OOZIE"]
    },
    {
      "id": "puppet var",
      "name": "zk_user",
      "displayName": "ZooKeeper User",
      "description": "User to run ZooKeeper as",
      "defaultValue": "zookeeper",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "zookeeper-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["ZOOKEEPER"]
    },
    {
      "id": "puppet var",
      "name": "gmetad_user",
      "displayName": "Ganglia User",
      "description": "The user used to run Ganglia",
      "defaultValue": "nobody",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "ganglia-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["GANGLIA"]
    },
    {
      "id": "puppet var",
      "name": "gmond_user",
      "displayName": "Gmond User",
      "description": "The user used to run gmond for Ganglia",
      "defaultValue": "nobody",
      "isReconfigurable": false,
      "displayType": "advanced",
      "isOverridable": false,
      "isVisible": false,
      "serviceName": "MISC",
      "filename": "ganglia-env.xml",
      "category": "Users and Groups",
      "belongsToService": []
    },
    {
      "id": "puppet var",
      "name": "nagios_user",
      "displayName": "Nagios User",
      "description": "User to run Nagios as",
      "defaultValue": "nagios",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "nagios-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["NAGIOS"]
    },
    {
      "id": "puppet var",
      "name": "nagios_group",
      "displayName": "Nagios Group",
      "description": "Nagios Group",
      "defaultValue": "nagios",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "nagios-env.xml",
      "category": "Users and Groups",
      "belongsToService": ["NAGIOS"]
    },
    {
      "id": "puppet var",
      "name": "smokeuser",
      "displayName": "Smoke Test User",
      "description": "The user used to run service smoke tests",
      "defaultValue": "ambari-qa",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": App.supports.customizeSmokeTestUser,
      "serviceName": "MISC",
      "filename": "cluster-env.xml",
      "category": "Users and Groups",
      "index": 16
    },
    {
      "id": "puppet var",
      "name": "user_group",
      "displayName": "Hadoop Group",
      "description": "Group that the users specified above belong to",
      "defaultValue": "hadoop",
      "isReconfigurable": false,
      "displayType": "user",
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "cluster-env.xml",
      "category": "Users and Groups"
    },
    {
      "id": "puppet var",
      "name": "rrdcached_base_dir",
      "displayName": "Ganglia rrdcached base directory",
      "description": "Default directory for saving the rrd files on ganglia server",
      "defaultValue": "/var/lib/ganglia/rrds",
      "displayType": "directory",
      "isReconfigurable": true,
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "GANGLIA",
      "filename": "ganglia-env.xml",
      "category": "General",
      "belongsToService": ["GANGLIA"]
    },
    {
      "id": "puppet var",
      "name": "ignore_groupsusers_create",
      "displayName": "Skip group modifications during install",
      "displayType": "checkbox",
      "isReconfigurable": true,
      "isOverridable": false,
      "isVisible": true,
      "serviceName": "MISC",
      "filename": "cluster-env.xml",
      "category": "Users and Groups"
    }
  ]
};
